package 力扣_树算法.二叉树;

import java.util.List;

/**559.N 叉树的最大深度
 * @author zx
 * @create 2022-04-18 21:33
 */
public class Num559 {
    /**
     * 如果根节点有 N 个子节点,则这 N 个子节点对应 N 个子树.记 N 个子树的最大深度中的最大值为
     * maxChildDepth,则该 N 叉树的最大深度为maxChildDepth + 1。
     * @param root
     * @return 递归
     */
    public int maxDepth(Node root) {
        if(root == null){
            return 0;
        }
        int maxChildDepth = 0;
        for(Node child : root.children){
            int childDepth = maxDepth(child);
            maxChildDepth = Math.max(maxChildDepth,childDepth);
        }
        return 1 + maxChildDepth;
    }
}
class Node {
    public int val;
    public List<Node> children;

    public Node() {}

    public Node(int _val) {
        val = _val;
    }

    public Node(int _val, List<Node> _children) {
        val = _val;
        children = _children;
    }
}
